/**
 * ====================================================
 * 文件名称: FinanceBulkstockEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月23日			chenxy(创建:创建文件)
 * ====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.entity;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.bulkstock.entity.lexicon.MeasurementEnum;
import com.yuexunit.finance.project.entity.lexicon.BulkstockSourceEnum;

/**
 * @ClassName: FinanceBulkstockEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年9月23日 下午5:21:52
 */
@Entity
@Table(name = "FIN_FINANCE_BULKSTOCK")
public class FinanceBulkstockEntity {

	/** 融资货物ID */
	@Id
	@GeneratedValue
	@Column(name = "BULKSTOCK_ID")
	private Long bulkstockId;

	/** 货物来源 */
	@Column(name = "BULKSTOCK_SOURCE")
	private BulkstockSourceEnum bulkstockSource;

	/** 估值调整ID */
	@Column(name = "REPLENISH_CREDIT_ID")
	private Long replenishCreditId;

	/** 提货申请ID */
	@Column(name = "EXCHANGE_PICKUP_ID")
	private Long exchangePickupId;

	/** 融资信息ID */
	@Column(name = "FINANCE_ID")
	private Long financeId;

	/** 大宗类别ID */
	@Column(name = "BULKSTOCK_CATEGORY_ID")
	private Long bulkstockCategoryId;

	/** 大宗商品ID */
	@Column(name = "BULKSTOCK_INFO_ID")
	private Long bulkstockInfoId;

	/** 货物名称 */
	@Column(name = "BULKSTOCK_NAME")
	private String bulkstockName;

	/** 规格型号 */
	@Column(name = "SPECIFICATION")
	private String specification;

	/** 货物编号 */
	@Column(name = "BULKSTOCK_NUMBER")
	private String bulkstockNumber;

	/** 产地 */
	@Column(name = "ORIGIN_PLACE")
	private String originPlace;

	/** 计量类型 0:未知/1:体积/2:重量 */
	@Column(name = "MEASUREMENT")
	private MeasurementEnum measurement;

	/** 计价数量 */
	@Column(name = "VALUATION_QUANTITY")
	private BigDecimal valuationQuantity;

	/** 数量 */
	@Column(name = "QUANTITY")
	private BigDecimal quantity;

	/** 单位 */
	@Column(name = "UNIT")
	private String unit;

	/** 重量 */
	@Column(name = "WEIGHT")
	private BigDecimal weight;

	/** 体积 */
	@Column(name = "VOLUME")
	private BigDecimal volume;

	/** 唛头 */
	@Column(name = "CARGO_MARK")
	private String cargoMark;

	/** 是否冷藏 */
	@Column(name = "COLD_STORAGE")
	private Boolean coldStorage;

	/** 是否危险品 */
	@Column(name = "DANGEROUS")
	private Boolean dangerous;

	/** 申请单价 */
	@Column(name = "BULKSTOCK_PRICE")
	private BigDecimal bulkstockPrice;

	/** 评审单价 */
	@Column(name = "EVALUATE_PRICE")
	private BigDecimal evaluatePrice;

	/** 融资单价 */
	@Column(name = "FINANCE_PRICE")
	private BigDecimal financePrice;

	/** 最低价格 */
	@Column(name = "LOWEST_PRICE")
	private BigDecimal lowestPrice;

	/** 最高价格 */
	@Column(name = "HIGHEST_PRICE")
	private BigDecimal highestPrice;

	/** 估值日期 */
	@Column(name = "VALUATION_D8")
	private Integer valuationDate;

	/** 通知收货数量 */
	@Column(name = "RECIEVE")
	private BigDecimal recieve;

	/** 监管数量 */
	@Column(name = "SUPERVISION")
	private BigDecimal supervision;

	/** 到港数量 */
	@Column(name = "HARBOR")
	private BigDecimal harbor;

	/** 已提数量 */
	@Column(name = "PICKUP")
	private BigDecimal pickup;

	/** 异常数量 */
	@Column(name = "ABNORMAL")
	private BigDecimal abnormal;

	/** 在押数量 */
	@Column(name = "INCUSTODY")
	private BigDecimal incustody;

	/** 生产厂家 */
	@Column(name = "MANUFACTURER")
	private String manufacturer;

	/** 是否公示 1.公示 */
	@Column(name = "PUBLICITY")
	private Boolean publicity;
	
	/** 包装样式 */
	@Column(name = "PACKING_METHOD")
	private String packingMethod;
	
	/** 货物等级 */
	@Column(name = "BULKSTOCK_GRADE")
	private String bulkstockGrade;
	
	/** 最终确认值 */
	@Column(name = "FINAL_PRICE")
	private BigDecimal finalPrice;

	public BigDecimal getFinalPrice() {
		return finalPrice;
	}

	public void setFinalPrice(BigDecimal finalPrice) {
		this.finalPrice = finalPrice;
	}

	public String getPackingMethod() {
		return packingMethod;
	}

	public void setPackingMethod(String packingMethod) {
		this.packingMethod = packingMethod;
	}

	public String getBulkstockGrade() {
		return bulkstockGrade;
	}

	public void setBulkstockGrade(String bulkstockGrade) {
		this.bulkstockGrade = bulkstockGrade;
	}

	private transient FinanceBulkstockColdStorageEntity bulkstockColdStorage;

	private transient FinanceBulkstockDangerousEntity bulkstockDangerous;

	public String getManufacturer() {
		return manufacturer;
	}

	public void setManufacturer(String manufacturer) {
		this.manufacturer = manufacturer;
	}

	public Long getBulkstockId() {
		return bulkstockId;
	}

	public void setBulkstockId(Long bulkstockId) {
		this.bulkstockId = bulkstockId;
	}

	public BulkstockSourceEnum getBulkstockSource() {
		return bulkstockSource;
	}

	public void setBulkstockSource(BulkstockSourceEnum bulkstockSource) {
		this.bulkstockSource = bulkstockSource;
	}

	public Long getReplenishCreditId() {
		return replenishCreditId;
	}

	public void setReplenishCreditId(Long replenishCreditId) {
		this.replenishCreditId = replenishCreditId;
	}

	public Long getExchangePickupId() {
		return exchangePickupId;
	}

	public void setExchangePickupId(Long exchangePickupId) {
		this.exchangePickupId = exchangePickupId;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public BigDecimal getFinancePrice() {
		return financePrice;
	}

	public void setFinancePrice(BigDecimal financePrice) {
		this.financePrice = financePrice;
	}

	public String getBulkstockName() {
		return bulkstockName;
	}

	public void setBulkstockName(String bulkstockName) {
		this.bulkstockName = bulkstockName;
	}

	public Long getBulkstockInfoId() {
		return bulkstockInfoId;
	}

	public void setBulkstockInfoId(Long bulkstockInfoId) {
		this.bulkstockInfoId = bulkstockInfoId;
	}

	public String getSpecification() {
		return specification;
	}

	public void setSpecification(String specification) {
		this.specification = specification;
	}

	public String getBulkstockNumber() {
		return bulkstockNumber;
	}

	public void setBulkstockNumber(String bulkstockNumber) {
		this.bulkstockNumber = bulkstockNumber;
	}

	public String getOriginPlace() {
		return originPlace;
	}

	public void setOriginPlace(String originPlace) {
		this.originPlace = originPlace;
	}

	public BigDecimal getQuantity() {
		return quantity;
	}

	public void setQuantity(BigDecimal quantity) {
		this.quantity = quantity == null ? BigDecimal.ZERO : quantity;
	}

	public String getUnit() {
		return unit;
	}

	public void setUnit(String unit) {
		this.unit = unit;
	}

	public BigDecimal getWeight() {
		if (null == weight) {
			return BigDecimal.ZERO;
		}
		return weight;
	}

	public void setWeight(BigDecimal weight) {
		this.weight = weight;
	}

	public BigDecimal getVolume() {
		return volume;
	}

	public void setVolume(BigDecimal volume) {
		this.volume = volume == null ? BigDecimal.ZERO : volume;
	}

	public BigDecimal getEvaluatePrice() {
		if (evaluatePrice == null) {
			return BigDecimal.ZERO;
		}
		return evaluatePrice;
	}

	public void setEvaluatePrice(BigDecimal evaluatePrice) {
		this.evaluatePrice = evaluatePrice;
	}

	public BigDecimal getLowestPrice() {
		return lowestPrice;
	}

	public void setLowestPrice(BigDecimal lowestPrice) {
		this.lowestPrice = lowestPrice;
	}

	public BigDecimal getHighestPrice() {
		return highestPrice;
	}

	public void setHighestPrice(BigDecimal highestPrice) {
		this.highestPrice = highestPrice;
	}

	public Integer getValuationDate() {
		return valuationDate;
	}

	public void setValuationDate(Integer valuationDate) {
		this.valuationDate = valuationDate;
	}

	public BigDecimal getRecieve() {
		return recieve;
	}

	public void setRecieve(BigDecimal recieve) {
		this.recieve = recieve;
	}

	public BigDecimal getSupervision() {
		return supervision;
	}

	public void setSupervision(BigDecimal supervision) {
		this.supervision = supervision;
	}

	public BigDecimal getHarbor() {
		return harbor;
	}

	public void setHarbor(BigDecimal harbor) {
		this.harbor = harbor;
	}

	public BigDecimal getPickup() {
		return pickup;
	}

	public void setPickup(BigDecimal pickup) {
		this.pickup = pickup;
	}

	public BigDecimal getAbnormal() {
		return abnormal;
	}

	public void setAbnormal(BigDecimal abnormal) {
		this.abnormal = abnormal;
	}

	public BigDecimal getIncustody() {
		return incustody;
	}

	public void setIncustody(BigDecimal incustody) {
		this.incustody = incustody;
	}

	public Boolean getPublicity() {
		return publicity;
	}

	public void setPublicity(Boolean publicity) {
		this.publicity = publicity;
	}

	public BigDecimal getBulkstockPrice() {
		return bulkstockPrice;
	}

	public void setBulkstockPrice(BigDecimal bulkstockPrice) {
		this.bulkstockPrice = bulkstockPrice;
	}

	public Long getBulkstockCategoryId() {
		return bulkstockCategoryId;
	}

	public void setBulkstockCategoryId(Long bulkstockCategoryId) {
		this.bulkstockCategoryId = bulkstockCategoryId;
	}

	public String getCargoMark() {
		return cargoMark;
	}

	public void setCargoMark(String cargoMark) {
		this.cargoMark = cargoMark;
	}

	public Boolean getColdStorage() {
		return coldStorage;
	}

	public void setColdStorage(Boolean coldStorage) {
		this.coldStorage = coldStorage;
	}

	public Boolean getDangerous() {
		return dangerous;
	}

	public void setDangerous(Boolean dangerous) {
		this.dangerous = dangerous;
	}

	public MeasurementEnum getMeasurement() {
		return measurement;
	}

	public void setMeasurement(MeasurementEnum measurement) {
		this.measurement = measurement;
	}

	public BigDecimal getValuationQuantity() {
		return valuationQuantity;
	}

	public void setValuationQuantity(BigDecimal valuationQuantity) {
		this.valuationQuantity = valuationQuantity;
	}

	public FinanceBulkstockColdStorageEntity getBulkstockColdStorage() {
		return bulkstockColdStorage;
	}

	public void setBulkstockColdStorage(FinanceBulkstockColdStorageEntity bulkstockColdStorage) {
		this.bulkstockColdStorage = bulkstockColdStorage;
	}

	public FinanceBulkstockDangerousEntity getBulkstockDangerous() {
		return bulkstockDangerous;
	}

	public void setBulkstockDangerous(FinanceBulkstockDangerousEntity bulkstockDangerous) {
		this.bulkstockDangerous = bulkstockDangerous;
	}
}
